package reflect;

import reflect.annotations.AutoRunClass;

import java.lang.reflect.Constructor;
import java.lang.reflect.Method;

/**
 * 使用反射机制访问类上的注解
 */
public class ReflectDemo9 {
    public static void main(String[] args) throws Exception {
        Class cls = Class.forName("reflect.Person");
        //判断反射机制是否访问类上的注解
        boolean mark = cls.isAnnotationPresent(AutoRunClass.class);
        System.out.println("类上"+(mark ? "被标注了" : "没有被标注"));
        //判断反射机制是否访问方法上的注解
        Method method=cls.getMethod("sayHello");
        boolean mark1=method.isAnnotationPresent(AutoRunClass.class);
        System.out.println("方法上"+(mark1 ? "被标注了" : "没有被标注"));
        //判断反射记住是否访问构造器上的注解
        Constructor constructor=cls.getConstructor();
        boolean mark2=constructor.isAnnotationPresent(AutoRunClass.class);
        System.out.println("构造器"+(mark2 ? "被标注了" : "没有被标注"));



    }
}
